Code Splitting
初期表示にかかる時間、ユーザが操作できるようになるまでの時間の削減する
Reactのdocs
初期表示に使っていないJSがどれぐらいあるか計測する
coverageパネル
実現方法
dynamic import
prefetch
Webpack
https://webpack.js.org/guides/code-splitting
https://kde.hateblo.jp/entry/2019/02/28/011659
React
https://reactjs.org/docs/code-splitting.html
Code Splittinのパターン ref
これなんか出典あるのかな #??
Page
ページごと
Fold
viewport外はあとで必要になったらfetch
Temporal
modal、tooltipなど最初に表示されないもの
buttonをclickしてから初めて必要になる処理とか
Code Splittingのデメリット
moduleの読み込む際のlatencyが増える
prefetchやpreloadで回避する
fetch回数が増える
Dynamic Code Splitting
https://qiita.com/seya/items/06b160adb7801ae9e66f#dynamic-code-splitting
webpackにあるらしい
dynamic imoprtsとは別ものらしい
状態によって読み込むchunkを変更する
Webpackのbuildファイルを読む
https://qiita.com/seya/items/06b160adb7801ae9e66f#webpackのcode-splittingの仕組み
これコードスプリット関係なくだよね?
#??
main.jsと0.jsなどのちがい
main.jsに書かれているものは一気に読まれるのか?
first loadはどの部分になるのか
main.jsが1発めにclientに渡されて、そのあとにloadされるのか?
#??
極端な例として、1ファイルにプロジェクト全てのコードを定義した時、Webpackは良い感じにchunk分割してくれるのか?
これが偽であるならば、できるだけ1ファイルの内容を小さく小さく分けてコードを書いたほうが良い、という話になりそうだが、そういう話は見かけない
例えばformのvalidationのコードとかを1ファイルに書いていると効率が悪い、という話になるはず
Tree Shakingが有効ならそんなことは起きないかmrsekut.icon
https://stackoverflow.com/questions/64485105/all-nextjs-pages-have-almost-the-same-js-bundle-size
参考
ちゃんと理解するCode Splitting - Qiita
良いまとめだmrsekut.icon*2
webpack のコード分割の初歩 - 30歳からのプログラミング
https://web.dev/reduce-javascript-payloads-with-code-splitting/